package com.woniuxy.yuekeuser.config;

import com.woniuxy.yuekeuser.model.Order;
import com.woniuxy.yuekeuser.service.IOrderService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;

import java.time.Duration;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;

/**
 * 定时任务类
 */
@Configuration
@EnableScheduling
public class FixedTime {
    @Autowired
    private IOrderService iOrderService;

    /**
     * 判断下单的时间，如果下单时间超过1分钟未付款则取消订单
     */
    //每5秒钟执行一次的方法
//    @Scheduled(cron="*/5 * * * * ?")
//    public void isDownOrderTime(){
//        //获取所有待付款订单信息
//        List<Order> orderall = iOrderService.findOrderall();
//        //遍历所有订单，如果下单时间超过1分钟则将订单删除
//        for(Order order : orderall){
//            //获取当前时间搓
//            LocalDateTime dateTime = LocalDateTime.now();
//            //获取订单的下单时间搓
//            LocalDateTime downorderTime = orderall.get(0).getDownorderTime();
//            //计算出该订单下单超时的时间搓,1分钟后超时
//            LocalDateTime overtime = downorderTime.plusMinutes(1);
//
//            //计算当前时间和下单时间的差值，
//            Duration duration = Duration.between(downorderTime,dateTime);
//            //计算订单超时时间和下单时间的差值
//            Duration duration2 = Duration.between(downorderTime,overtime);
//            long l = duration.toMinutes();
//            long l2 = duration2.toMinutes();
//            //如果l-l2大于0 则表示该订单付款时间已超时，删除该订单
//            if(l-l2>0){
//                iOrderService.deleteOrderByOrder(order);
//            }
//
//        }
//    }
}
